// 定义角色管理相关的接口及表单数据类型
import type { IPageData, ResponseData } from '@/types/common'

// 角色筛选条件携带的参数类型
export interface IRoleQueryData extends IPageData {
  roleName: string
}

// 单个角色信息类型
export interface IRoleData {
  id: number
  roleName: string
  remark: string | null
  createTime: string
  updateTime: string
}

// 角色列表返回数据类型
export interface IRoleResponseData extends ResponseData {
  data: {
    records: IRoleData[]
    countId: string | number | null
    current: number
    hitCount: boolean
    maxLimit: string | number | null
    optimizeCountSql: boolean
    pages: number
    searchCount: boolean
    size: number
    total: number
  }
}

// 角色表单数据
export interface IRoleFormData {
  id?: number
  roleName: string
  remark: string | null
}
